home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / usr_-_Usr_Files / INCLUDE / STRING.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  7KB  |  203 lines

  1. /* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
  2. This file is part of the GNU C Library.
  3.  
  4. The GNU C Library is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU Library General Public License as
  6. published by the Free Software Foundation; either version 2 of the
  7. License, or (at your option) any later version.
  8.  
  9. The GNU C Library is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12. Library General Public License for more details.
  13.  
  14. You should have received a copy of the GNU Library General Public
  15. License along with the GNU C Library; see the file COPYING.LIB.  If
  16. not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave,
  17. Cambridge, MA 02139, USA.  */
  18.  
  19. /*
  20.  *    ANSI Standard: 4.11 STRING HANDLING    <string.h>
  21.  */
  22.  
  23. #ifndef    _STRING_H
  24.  
  25. #define    _STRING_H    1
  26. #include <features.h>
  27.  
  28. __BEGIN_DECLS
  29.  
  30. /* Get size_t and NULL from <stddef.h>.  */
  31. #define    __need_size_t
  32. #define    __need_NULL
  33. #include <stddef.h>
  34.  
  35. /* `memcpy' is a built-in function for gcc 2.x. */
  36. #if defined(__STDC__) && __GNUC__ < 2
  37. /* Copy N bytes of SRC to DEST.  */
  38. extern __ptr_t memcpy __P ((__ptr_t __dest, __const __ptr_t __src,
  39.                 size_t __n));
  40. #endif
  41.  
  42. /* Copy N bytes of SRC to DEST, guaranteeing
  43.    correct behavior for overlapping strings.  */
  44. extern __ptr_t memmove __P ((__ptr_t __dest, __const __ptr_t __src,
  45.                  size_t __n));
  46.  
  47. /* Copy no more than N bytes of SRC to DEST, stopping when C is found.
  48.    Return the position in DEST one byte past where C was copied,
  49.    or NULL if C was not found in the first N bytes of SRC.  */
  50. extern __ptr_t __memccpy __P ((__ptr_t __dest, __const __ptr_t __src,
  51.                    int __c, size_t __n));
  52. #if defined (__USE_SVID) || defined (__USE_BSD)
  53. extern __ptr_t memccpy __P ((__ptr_t __dest, __const __ptr_t __src,
  54.                  int __c, size_t __n));
  55. #endif /* SVID.  */
  56.  
  57.  
  58. /* Set N bytes of S to C.  */
  59. extern __ptr_t memset __P ((__ptr_t __s, int __c, size_t __n));
  60.  
  61. /* `memcmp' is a built-in function for gcc 2.x. */
  62. #if defined(__STDC__) && __GNUC__ < 2
  63. /* Compare N bytes of S1 and S2.  */
  64. extern int memcmp __P ((__const __ptr_t __s1, __const __ptr_t __s2,
  65.             size_t __n));
  66. #endif
  67.  
  68. /* Search N bytes of S for C.  */
  69. extern __ptr_t memchr __P ((__const __ptr_t __s, int __c, size_t __n));
  70.  
  71.  
  72. /* Copy SRC to DEST.  */
  73. extern char *strcpy __P ((char *__dest, __const char *__src));
  74. /* Copy no more than N characters of SRC to DEST.  */
  75. extern char *strncpy __P ((char *__dest, __const char *__src, size_t __n));
  76.  
  77. /* Append SRC onto DEST.  */
  78. extern char *strcat __P ((char *__dest, __const char *__src));
  79. /* Append no more than N characters from SRC onto DEST.  */
  80. extern char *strncat __P ((char *__dest, __const char *__src, size_t __n));
  81.  
  82. /* Compare S1 and S2.  */
  83. extern int strcmp __P ((__const char *__s1, __const char *__s2));
  84. /* Compare N characters of S1 and S2.  */
  85. extern int strncmp __P ((__const char *__s1, __const char *__s2, size_t __n));
  86.  
  87. /* Compare the collated forms of S1 and S2.  */
  88. extern int strcoll __P ((__const char *__s1, __const char *__s2));
  89. /* Put a transformation of SRC into no more than N bytes of DEST.  */
  90. extern size_t strxfrm __P ((char *__dest, __const char *__src, size_t __n));
  91.  
  92. #if defined (__USE_SVID) || defined (__USE_BSD)
  93. /* Duplicate S, returning an identical malloc'd string.  */
  94. extern char *strdup __P ((__const char *__s));
  95. #endif
  96.  
  97. /* Find the first occurrence of C in S.  */
  98. extern char *strchr __P ((__const char *__s, int __c));
  99. /* Find the last occurrence of C in S.  */
  100. extern char *strrchr __P ((__const char *__s, int __c));
  101.  
  102. /* Return the length of the initial segment of S which
  103.    consists entirely of characters not in REJECT.  */
  104. extern size_t strcspn __P ((__const char *__s, __const char *__reject));
  105. /* Return the length of the initial segment of S which
  106.    consists entirely of characters in ACCEPT.  */
  107. extern size_t strspn __P ((__const char *__s, __const char *__accept));
  108. /* Find the first occurence in S of any character in ACCEPT.  */
  109. extern char *strpbrk __P ((__const char *__s, __const char *__accept));
  110. /* Find the first occurence of NEEDLE in HAYSTACK.  */
  111. extern char *strstr __P ((__const char *__haystack, __const char *__needle));
  112. /* Divide S into tokens separated by characters in DELIM.  */
  113. extern char *strtok __P ((char *__s, __const char *__delim));
  114.  
  115. #ifdef    __USE_GNU
  116. /* Find the first occurence of NEEDLE in HAYSTACK.
  117.    NEEDLE is NEEDLELEN bytes long;
  118.    HAYSTACK is HAYSTACKLEN bytes long.  */
  119. extern __ptr_t memmem __P ((__const __ptr_t __haystack,
  120.                 size_t __haystacklen,
  121.                 __const __ptr_t __needle,
  122.                 size_t __needlelen));
  123. #endif
  124.  
  125. /* Return the length of S.  */
  126. extern size_t strlen __P ((__const char *__s));
  127.  
  128. /* Return a string describing the meaning of the errno code in ERRNUM.  */
  129. extern char *strerror __P ((int __errnum));
  130.  
  131. #ifdef    __USE_BSD
  132. /* Find the first occurrence of C in S (same as strchr).  */
  133. extern char *index __P ((__const char *__s, int __c));
  134.  
  135. /* Find the last occurrence of C in S (same as strrchr).  */
  136. extern char *rindex __P ((__const char *__s, int __c));
  137.  
  138. #ifndef __linux__
  139.  
  140. /* Copy N bytes of SRC to DEST (like memmove, but args reversed).  */
  141. extern void bcopy __P ((__const __ptr_t __src, __ptr_t __dest, size_t __n));
  142.  
  143. /* Set N bytes of S to 0.  */
  144. extern void bzero __P ((__ptr_t __s, size_t __n));
  145.  
  146. /* Compare N bytes of S1 and S2 (same as memcmp).  */
  147. extern int bcmp __P ((__const __ptr_t __s1, __const __ptr_t __s2, size_t __n));
  148.  
  149. #else
  150.  
  151. /* Copy N bytes of SRC to DEST (like memmove, but args reversed).  */
  152. extern void bcopy __P ((__const __ptr_t __src, __ptr_t __dest, int __n));
  153.  
  154. /* Set N bytes of S to 0.  */
  155. extern void bzero __P ((__ptr_t __s, int __n));
  156.  
  157. /* Compare N bytes of S1 and S2 (same as memcmp).  */
  158. extern int bcmp __P ((__const __ptr_t __s1, __const __ptr_t __s2, int __n));
  159.  
  160. #endif
  161.  
  162. /* Return the position of the first bit set in I, or 0 if none are set.
  163.    The least-significant bit is position 1, the most-significant 32.  */
  164. extern int ffs __P ((int __i));
  165.  
  166. /* Compare S1 and S2, ignoring case.  */
  167. extern int strcasecmp __P ((__const char *__s1, __const char *__s2));
  168.  
  169. /* Return the next DELIM-delimited token from *STRINGP,
  170.    terminating it with a '\0', and update *STRINGP to point past it.  */
  171. extern char *strsep __P ((char **__stringp, __const char *__delim));
  172. #endif
  173.  
  174. #ifdef    __USE_GNU
  175. /* Compare no more than N chars of S1 and S2, ignoring case.  */
  176. extern int strncasecmp __P ((__const char *__s1, __const char *__s2,
  177.                  size_t __n));
  178.  
  179. /* Return a string describing the meaning of the signal number in SIG.  */
  180. extern char *strsignal __P ((int __sig));
  181.  
  182. /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST.  */
  183. extern char *stpcpy __P ((char *__dest, __const char *__src));
  184.  
  185. /* Copy no more then N bytes from SRC to DEST, returning the address
  186.    of the terminating '\0' in DEST.  */
  187. extern char *__stpncpy __P ((char *__dest, __const char *__src, size_t __n));
  188. extern char *stpncpy __P ((char *__dest, __const char *__src, size_t __n));
  189.  
  190. /* Sautee STRING briskly.  */
  191. extern char *strfry __P ((char *__string));
  192.  
  193. /* Frobnicate N bytes of S.  */
  194. extern __ptr_t memfrob __P ((__ptr_t __s, size_t __n));
  195.  
  196. extern void swab __P ((__const __ptr_t __from, __ptr_t __to,
  197.                         size_t __nbytes));
  198. #endif
  199.  
  200. __END_DECLS
  201.  
  202. #endif /* string.h  */
  203.